<!DOCTYPE html>
<html lang="zh-CN">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>数据传输</title>
	</head>
	<body>
		<!--
    WebSocket 通信由 "frames（即数据片段）" 组成，可以从任何一方发送，并且有以下几种类型：
    "text frames" 包含各方发送给彼此的文本数据。
    "binary data frames" 包含各方发送给彼此的二进制数据。
    "ping/pong frames" 被用于检查从服务器发送的连接，浏览器会自动响应它们。
    还有 "connection close frame" 以及其他服务 frames。
    在浏览器里，我们仅直接使用文本或二进制 frames。
    -->

		<!-- WebSocket.send() 方法可以发送文本或二进制数据。包括 Blob, ArrayBuffer 等。不需要额外的设置：直接发送它们就可以了。 -->

		<!--
    当我们收到数据时，文本总是以字符串形式呈现。而对于二进制数据，我们可以在 Blob 和 ArrayBuffer 格式之间进行选择。
    它是由 socket.binaryType 属性设置的，默认为 Blob，因此二进制数据通常以 Blob 对象呈现。

    但是对于二进制处理，要访问单个数据字节，我们可以将其改为 "arraybuffer":
    socket.binaryType = "arraybuffer"
    socket.onmessage = (e) => {
      e.data 可以是文本（如果是文本），也可以是 arraybuffer（如果是二进制数据）
    }
    -->
	</body>
</html>
